package com.start.boot.service;


import com.start.boot.domain.ChartNOGroup;
import com.start.boot.domain.ChartWithGroup;
import com.start.boot.domain.Tongji;
import com.start.boot.pojo.dto.CountDo;
import com.start.boot.pojo.vo.CountVo;
import com.start.boot.pojo.vo.PcxVo;

import java.util.List;
import java.util.Map;

/**
 * 统计服务
 */

public interface CountService {


   Map<Integer, List<CountDo>> getPcByYear(Integer year, String pcflbm);


   /**
    * 统计本年度 每种结论的占比情况
    * @param year
    * @param pcflbm
    * @return
    */
   List<CountVo> getYearPercentByYearAndPcflbm(Integer year, String pcflbm);


   /**
    * 根据评查结论、年份、模板编码查询该结论下top的小评查项数据
    * @param pcflbm
    * @param year
    * @param
    * @return
    */
  List<PcxVo> getPcxFlByYearAndMbbmAndPcjg(String pcflbm, Integer year) throws Exception;


    /**
     * 小问题分类的饼图
     * @param pcflbm
     * @param year
     * @param
     * @return
     */
    List<PcxVo> getPcxFlByYearAndBinTu(String pcflbm, Integer year, String pcjg) throws Exception;


    /**
     * 案件质量折线图
     * @param pcflbm
     * @param year
     * @param
     * @return
     */
    List<ChartWithGroup> getAjzlLinesByYearAndPcflbm(Integer year,String pcflbm) throws Exception;

    /**
     * 案件质量饼图
     * @param pcflbm
     * @param year
     * @param
     * @return
     */
    List<ChartNOGroup> getAjzlPieByYearAndPcflbm(Integer year, String pcflbm) throws Exception;

    /**
     * 基本情况统计分析总表数据
     * @param tongji
     * @return
     */
    List<Map> getJbpctotal(Tongji tongji);
}
